home *** CD-ROM | disk | FTP | other *** search
- Pyramid.app
-
- Pyramid grew out of a need to build some simple 3D graphics
- primitives for a project I was working on. The functions in
- matrix.subproj provide a basic mechanism for defining a 3D
- perspective transformation and mapping points from space onto
- a viewing plane.
-
- I wrote the pyramid model and viewer as a testbench to get
- visual feed back from the matrix routines. Any problems
- in the math were *very* obvious as things spun around.
- Having completed pyramid, I added the kitchen model for
- my wife. Some time ago I had been helping her understand
- the basics of perspective, and made various diagrams
- based on our kitchen. The crude diagrams didn't help
- much, and I decided to do a computer model, which would be
- accurate and dynamic. That never happened, of course,
- until I realized after writing Pyramid that adding a
- kitchen model would be trivial. Watching the lines
- converge on the vanishing points along the horizon as the
- scene moves really makes the concept come alive.
-
- Though not complicated, it took a while to understand the
- math and get it right, and I hadn't seen anything similar
- on the net. I'm posting Pyramid and the matrix routines so
- that others may have some fun as well.
-
- Acknowledgements:
- Thanks to Vince DeMarco for putting his
- CircularSlider palette on the net!
-
- Problems:
- The hidden line algorithms are primitive. The moon will
- occasionally peek through to the foreground.
-
- The kitchen will fold inside out if you look at it from
- funny angles. It's really only useful when viewed from
- one octant of the coordinate space.
-
- _______________________________________________________
- NeXTMail:Peter_Kron@corona.com
- Corona Design, Inc.
- P.O. Box 51022
- Seattle, WA 98115-1022
-
- LEGAL NOTICE:
- This software is provided "as-is". In no event shall
- Corona Design, Inc. ("CORONA") be liable for any damages
- whatsoever (including, without limitation, damages
- for loss of business profits, business interruption,
- loss of business information, or any other pecuniary
- loss) arising out of the use of or inability to use this
- software, even if the CORONA has been advised of the
- possibility of such damages. Because some states do not
- allow the exclusion or limitation of liability for
- consequential or incidental damages, the above
- limitation may not apply to you.
-
- THE ABOVE WARRANTY IS EXCLUSIVE AND IN LIEU OF ALL OTHER
- WARRANTIES WHETHER EXPRESSED OR IMPLIED.
-
-